1. Field
The present disclosure relates generally to networks and, in particular, to nodes in a data network. Still more particularly, the present disclosure relates to a method and apparatus for mapping dependencies between services associated with a data network based on the transfer entropy computed for different service pairings.
2. Background
A data network is a communications network that allows devices to exchange data. An Internet Protocol (IP) network is a data network that uses the Internet Protocol suite to send and receive data. The Internet protocol suite is the computer networking model and set of communications protocols used on the Internet and similar computer networks. The different types of communications protocols in the Internet Protocol suite that may be used include the Internet Protocol (IP), the Transfer Control Protocol (TCP), the User Datagram Protocol (UDP), and other types of protocols. An Internet Protocol network may be implemented using any number of Internet networks, local area networks (LAN), enterprise networks, or other types of networks.
Oftentimes, Internet Protocol networks are based on a client-service model. With a client-service model, a client generates and sends a request to a service and the service handles the request and sends a response back to the client. The clients and services that communicate over an Internet Protocol network may be referred to as nodes. Some Internet Protocol networks may include only nodes that use the Transfer Control Protocol.
Data networks and, in particular, Internet Protocol networks are becoming larger and more complex. Consequently, there is a pressing need for tools to aid network administrators and designers in managing these types of networks. For example, a tool capable of determining dependencies between services may be desirable. A dependency between a first service and a second service may occur, for example, when the first service is reliant upon the second service to fulfill a request received by the first service.
Some currently available tools are capable of identifying service dependencies. However, these currently available tools may be unable to identify a chain of dependencies across more than two services. For example, some of these tools may be unable to determine when a first service depends on a second service, which in turn depends on a third service, to fulfill a request received from a client.
Additionally, some of these currently available tools may not use all of the data that is available to these tools, which may reduce the accuracy of the dependencies identified. Therefore, it would be desirable to have a method and apparatus that take into account at least some of the issues discussed above, as well as other possible issues.